package com.taotao.designpattern.event.proccessor;


import com.taotao.designpattern.event.job.*;

/**
 * 任务运行事件
 *
 * @author fanbeibei
 * @version 1.0
 * @date 2021/1/5 15:00
 */
public interface JobListener {

    /**
     * 任务触发前（检查任务是否满足运行条件）
     *
     * @param job
     * @return  false则不触发任务
     */
    boolean beforeTrigger(Job job);

    /**
     * 收到触发结果
     *
     * @param triggerResult
     */
    void onTriggerResult(JobTriggerResult triggerResult);

    /**
     * 收到任务运行结果
     *
     * @param runResult
     */
    void onRunResult(JobRunResult runResult);

    /**
     * 任务执行完成
     *
     * @param runResult
     */
    void onJobComplete(JobRunResult runResult);


}
